

from core.himesis import Himesis
import cPickle as pickle
from uuid import UUID

class HRuleExampleIndirect(Himesis):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HRuleExampleIndirect.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HRuleExampleIndirect, self).__init__(name='HRuleExampleIndirect', num_nodes=25, edges=[])
        
        # Add the edges
        self.add_edges([(15, 0), (0, 6), (3, 16), (16, 12), (3, 17), (17, 5), (3, 18), (18, 13), (3, 19), (19, 2), (23, 6), (24, 7), (7, 11), (12, 8), (8, 5), (13, 9), (9, 2), (1, 20), (1, 21), (1, 22), (1, 23), (1, 24), (14, 10), (10, 4), (11, 15), (20, 14), (21, 4), (22, 15)])
        # Set the graph attributes
        self["mm__"] = pickle.loads("""(lp1
S'SimpleDSLTransMM'
p2
a.""")
        self["name"] = """RuleExampleIndirect"""
        self["GUID__"] = UUID('6697c0ca-cb20-488b-b991-7a3c7900142a')
        
        # Set the node attributes
        self.vs[0]["mm__"] = """directLink_S"""
        self.vs[0]["associationType"] = """t_"""
        self.vs[0]["GUID__"] = UUID('7896af8b-64be-4aee-b412-6e71e552f964')
        self.vs[1]["mm__"] = """MatchModel"""
        self.vs[1]["GUID__"] = UUID('07360023-2549-4bc0-8c2d-c07869808e90')
        self.vs[2]["mm__"] = """Female_T"""
        self.vs[2]["classtype"] = """female"""
        self.vs[2]["name"] = """fa1"""
        self.vs[2]["GUID__"] = UUID('cf82aeef-94cc-452d-9ac8-a5c557b6ae67')
        self.vs[3]["mm__"] = """ApplyModel"""
        self.vs[3]["GUID__"] = UUID('c3f5a06c-180e-4760-8add-ccde9dec630a')
        self.vs[4]["mm__"] = """Male_S"""
        self.vs[4]["classtype"] = """male"""
        self.vs[4]["name"] = """mm1"""
        self.vs[4]["GUID__"] = UUID('3da09e3b-82e2-4a32-9fe7-472be444d86c')
        self.vs[5]["mm__"] = """Male_T"""
        self.vs[5]["classtype"] = """male"""
        self.vs[5]["name"] = """ma1"""
        self.vs[5]["GUID__"] = UUID('eb96d6f8-8eb9-4895-9f34-838ce461ff43')
        self.vs[6]["mm__"] = """Female_S"""
        self.vs[6]["classtype"] = """female"""
        self.vs[6]["name"] = """fm1"""
        self.vs[6]["GUID__"] = UUID('27654f96-9619-4605-814e-9c0b56fef72c')
        self.vs[7]["mm__"] = """Female_S"""
        self.vs[7]["classtype"] = """female"""
        self.vs[7]["name"] = """fm2"""
        self.vs[7]["GUID__"] = UUID('c0bc3d00-ddb3-41e6-8710-ca0cc3dc4760')
        self.vs[8]["mm__"] = """directLink_T"""
        self.vs[8]["associationType"] = """t_"""
        self.vs[8]["GUID__"] = UUID('915d5913-2bd9-4a40-afb5-a87580d62364')
        self.vs[9]["mm__"] = """directLink_T"""
        self.vs[9]["associationType"] = """t_"""
        self.vs[9]["GUID__"] = UUID('cdbe431f-9bd3-4bb6-a4a8-bdfb9b393ac8')
        self.vs[10]["mm__"] = """indirectLink_S"""
        self.vs[10]["GUID__"] = UUID('7b3a22cd-d4c1-4eca-866b-9ffbb68a599c')
        self.vs[11]["mm__"] = """indirectLink_S"""
        self.vs[11]["GUID__"] = UUID('ccc85233-12dd-41d4-ae0a-b0d8402e8fb9')
        self.vs[12]["mm__"] = """Station_T"""
        self.vs[12]["classtype"] = """station"""
        self.vs[12]["name"] = """sa1"""
        self.vs[12]["GUID__"] = UUID('7e51b896-8c56-432e-83b9-ba537a36b458')
        self.vs[13]["mm__"] = """Station_T"""
        self.vs[13]["classtype"] = """station"""
        self.vs[13]["name"] = """sa2"""
        self.vs[13]["GUID__"] = UUID('40e8ff02-66cf-4210-a967-164f3d77ecdd')
        self.vs[14]["mm__"] = """Station_S"""
        self.vs[14]["classtype"] = """station"""
        self.vs[14]["name"] = """sm1"""
        self.vs[14]["GUID__"] = UUID('8e6db675-da6d-478f-a746-aa989c45399c')
        self.vs[15]["mm__"] = """Station_S"""
        self.vs[15]["classtype"] = """station"""
        self.vs[15]["name"] = """sm2"""
        self.vs[15]["GUID__"] = UUID('d8a4467d-5754-434e-bf60-a15dfb7e84e8')
        self.vs[16]["mm__"] = """apply_contains"""
        self.vs[16]["GUID__"] = UUID('56ef7c1f-b7cf-4350-8169-0bd7d30801d5')
        self.vs[17]["mm__"] = """apply_contains"""
        self.vs[17]["GUID__"] = UUID('ca50497e-2e3e-4d77-8280-aaf62c0f1929')
        self.vs[18]["mm__"] = """apply_contains"""
        self.vs[18]["GUID__"] = UUID('1205bf94-d1df-4f9f-8daa-d10b4a34157e')
        self.vs[19]["mm__"] = """apply_contains"""
        self.vs[19]["GUID__"] = UUID('6ff8a840-345b-408f-a742-788702ee7ed1')
        self.vs[20]["mm__"] = """match_contains"""
        self.vs[20]["GUID__"] = UUID('0cf90e91-462e-4a40-9829-207b26382b40')
        self.vs[21]["mm__"] = """match_contains"""
        self.vs[21]["GUID__"] = UUID('5b88365d-5df4-4183-9d0c-a821b80805e7')
        self.vs[22]["mm__"] = """match_contains"""
        self.vs[22]["GUID__"] = UUID('7b58f226-5733-45ca-9c14-b6c68d0cc0c8')
        self.vs[23]["mm__"] = """match_contains"""
        self.vs[23]["GUID__"] = UUID('e37d354c-0b89-49c4-aff7-6256406200ee')
        self.vs[24]["mm__"] = """match_contains"""
        self.vs[24]["GUID__"] = UUID('b46ac64b-c7aa-40db-a14c-0eef52e9f842')

